﻿//功用：数据库SaveModel实体；PageModel<T>分页实体；
//创建时间：2021-6-10 17:33:00
//作者：王浩力

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WebNetCorePhoneErp.Model
{
    /// <summary>
    /// 分页数据
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class PageModel<T>
    {
        /// <summary>
        /// 当前页码
        /// </summary>
        public int PageIndex { get; set; }

        /// <summary>
        /// 页大小
        /// </summary>
        public int PageSize { get; set; }

        /// <summary>
        /// 总记录数
        /// </summary>
        public int Total { get; set; }

        /// <summary>
        /// 当前页数据列表
        /// </summary>
        public List<T> List { get; set; }

        public PageModel()
        {

        }

        public PageModel(List<T> items, int total, int pageIndex, int pageSize)
        {
            PageIndex = pageIndex;
            PageSize = pageSize;
            Total = total;
            List = items;
        }
    }

    /// <summary>
    /// 批量（修改或新增）记录
    /// </summary>
    /// <typeparam name="T">操作的数据库表实体</typeparam>
    public class SaveModel
    {
        /// <summary>
        /// 实体类型；删除时不传；
        /// </summary>
        public Type ModelType { get; set; }

        /// <summary>
        /// 要修改或新增的实体，删除时要传
        /// </summary>
        public object Model { get; set; }

        /// <summary>
        /// 要修改的列名称，参考"id","Name","DataType"；
        /// 如果是新增记录，则此字段传null，此时Model的IsUpdate设置为false；
        /// 删除时不传；
        /// </summary>
        public string[] Columns { get; set; }

        ///// <summary>
        ///// 是否是修改数据，默认true表示修改数据，false为新增记录
        ///// </summary>     
        //public bool IsUpdate { get; set; } = false;

        /// <summary>
        /// 删除此条记录吗？ true删除，false不删除，默认false
        /// </summary>
        public bool IsDelete { get; set; } = false;

    }
}
